As computer processors have decreased in size and expense, mobile computing devices have become increasingly widespread. Designed to be portable, many mobile computing devices are lightweight and small, enough to be worn or carried in a pocket or handbag. However, the portability of modern mobile computing devices comes at a price: today's mobile computing devices often incorporate small input devices to reduce the size and weight of the device. For example, many current mobile devices include small keyboards that many people (especially those with poor dexterity) find difficult to use.
Some mobile computing devices address this problem by allowing a user to interact with the device using speech. For example, a user can place a call to someone in his contact list by simply speaking a voice command (e.g., “call”) and the name of the person into the phone. However, speech can be difficult to distinguish from background noise in some environments, and it can be hard to capture user speech in a manner that is natural to the user. In addition, it can be challenging to begin recording speech at the right time. For example, if recording begins after the user has started speaking, the resulting recording may not include all of the user's voice command. Furthermore, a user may be notified that a spoken command was not recognized by the device after the user has spoken, which can be frustrating for users.
Therefore, it is desirable to provide an alternative mechanism for detecting speech on a mobile device.